
#ifndef DESIGN_PATTERNS_ITERATOR_ITERATOR_H_
#define DESIGN_PATTERNS_ITERATOR_ITERATOR_H_

template<typename Ele>
class Iterator
{
public:
  virtual Ele& Get() = 0;

  virtual void Next() = 0;

  virtual bool HasMore() = 0;

  virtual ~Iterator() = default;
};

#endif //DESIGN_PATTERNS_ITERATOR_ITERATOR_H_
